package cn.wolfcode.trip.base.domain;

import cn.wolfcode.trip.base.util.DateUtil;
import cn.wolfcode.trip.base.util.JSONUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class  TravelCommend extends BaseDomain{

    public static final Integer TYPE_WEEK = 1; //每周
    public static final Integer TYPE_MONTH = 2; //每月
    public static final Integer TYPE_STRATEGY = 3; //攻略

    private Long travelId;//关联游记的ID

    private String title;//标题

    private String subTitle;//副标题

    private String coverUrl;//封面

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date schedule;//推荐时间

    private Integer type;//推荐的类型


    //根据需求临时增加的
    private User author ;//封装作者的信息，页面上需要它的昵称和头像图片

    private String placeName ;//旅游的地点，就不需要更改上面的关联游记的类型了




    public String getTypeName(){
        String msg = "每周推荐" ;
        if(type==TYPE_MONTH){
            msg = "每月推荐" ;
        }else if(type==TYPE_STRATEGY){
            msg = "攻略推荐" ;
        }
        return msg ;
    }
    public String getJson(){
        Map<String,Object> map = new HashMap<>();
        //将标题加进去
        map.put("title",title);//游记的标题
        map.put("coverUrl",coverUrl);//游记的封面
        map.put("subTitle",subTitle);//游记的副标题
        map.put("schedule", DateUtil.formatDate(schedule));//游记的推荐时间
        map.put("type", type);//游记的类型
        map.put("id",id);//游记的ID
        return JSONUtil.toJSONString(map);
    }

}